#ifndef __GND_MODULE_H__
#define __GND_MODULE_H__

#include <gtkmm/object.h>

#include "Global.h"

namespace Gnodroid {
    /** 模块基类，模块用于通过GUI与用户进行交互
     */
    class Module :
        public Glib::Object
    {
    public:
        Module(ModuleId mId);

        /** 获取模块ID
         * @return
         */
        ModuleId
        getId();

        /** 启动模块
         */
        virtual void
        start() = 0;

        /** 停止模块
         */
        virtual void
        stop() = 0;
    protected:
    private:
        ModuleId m_emModuleId;      //模块ID
    };
}


#endif
